home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / cmds / lfscollectdata / mkstatprint.awk < prev    next >
Encoding:
AWK Script  |  1991-05-31  |  1.6 KB  |  71 lines

  1. #
  2. # This awk script is intended to read as input the file lfsStat.h and 
  3. # output C fprintf to printout the stats structure.
  4. #
  5. BEGIN        { skip = 1; }
  6. /typedef struct Lfs_StatsVersion/ { skip = 0; }
  7. /LfsLogStats/          { 
  8.             field = "log"; 
  9.             st = "Lfs_Stats.LfsLogStats.";  
  10.             next;  
  11.              }
  12. /LfsCheckPointStats/ { 
  13.             field = "checkpoint"; 
  14.             st = "Lfs_Stats.LfsCheckPointStats."; 
  15.             next; 
  16.              }
  17. /LfsLogCleanStats/ { 
  18.             field = "cleaning"; 
  19.             st = "LfsLogStats.LfsLogCleanStats."; 
  20.             next;  
  21.            }
  22. /LfsBlockIOStats/  { 
  23.             field = "blockio"; 
  24.             st = "LfsLogStats.LfsLogCleanStats.";
  25.             next;
  26.            }
  27. /LfsDescStats/     { 
  28.             field = "desc"; 
  29.             st = "LfsLogStats.LfsDescStats.";
  30.             next;
  31.            }
  32. /LfsIndexStats/   { 
  33.             field = "index"; 
  34.             st = "LfsLogStats.LfsIndexStats.";
  35.             next;
  36.           }
  37. /LfsFileLayoutStats/ { 
  38.             field = "layout"; 
  39.             st = "LfsLogStats.LfsFileLayoutStats.";
  40.             next;
  41.              }
  42. /LfsSegUsageStats/ { 
  43.             field = "segusage"; 
  44.             st = "LfsLogStats.LfsSegUsageStats.";
  45.             next;
  46.              }
  47.  
  48. /LfsCacheBackendStats/ { 
  49.             field = "backend"; 
  50.             st = "LfsLogStats.LfsCacheBackendStats.";
  51.             next;
  52.              }
  53. /LfsDirLogStats/     { 
  54.             field = "dirlog"; 
  55.             st = "LfsLogStats.LfsDirLogStats.";
  56.             next;
  57.              }
  58. /padding/        { next; }
  59. /#undef LFSCOUNT/   { skip = 1; next; }
  60. /LFSCOUNT/        { 
  61.             if (skip) 
  62.                 next;
  63.             name = substr($2,1,length($2)-1);
  64.             var = "statsPtr->" field "." name;
  65.             print "if (printzero || " var ".low) " 
  66.             print "\tfprintf(outFile,\"" st  field "." name ".low %u\\n\"," var ".low);"
  67.             print "if (printzero || " var ".high) " 
  68.             print "\tfprintf(outFile,\"" st  field "." name ".high %u\\n\"," var ".high);"
  69.             next;
  70.             }
  71.